﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using TA.JSON;

namespace TA.Turbo.Controls
{
	/// <summary>
	/// 
	/// </summary>
	public interface IRepeaterEntries : IList, IJsonCompatible, ICloneable//, IRepeaterComponent
	{
		/// <summary>
		/// When implemented, gets the <see cref="RepeaterValue"/> which owns this collection of entries.
		/// </summary>
		RepeaterValue Owner { set; }
		/// <summary>
		/// When implemented, gets the <see cref="Repeater"/> control which owns this collection of entries.
		/// </summary>
		Repeater Repeater { set; }
		/// <summary>
		/// When implemented, gets the value at the specified property path in the data entry at the specified index.
		/// </summary>
		/// <param name="iEntry"></param>
		/// <param name="propertyPath"></param>
		/// <returns></returns>
		object GetValue(int iEntry, string propertyPath);
		//event EventHandler<SerializeEventArgs> SerializeEntry;
		//event EventHandler<DeserializeEventArgs> DeserializeEntry;
		//object 
	}
}
